Autenticazione dei programmi

Le firme digitali consentono di identificare la provenienza dei programmi e di verificare che non vi siano state apportate modifiche. Per evitare che durante l'installazione del browser personalizzato venga visualizzato un messaggio di avviso, apporre la firma digitale al pacchetto del browser e a qualsiasi altro programma personalizzato. ╚ possibile che agli utenti non sia consentito di installare controlli ActiveX e pacchetti Java che non dispongono di firma digitale. Durante l'esecuzione del programma di personalizzazione di IEAK Φ necessario specificare alcune informazioni relative al certificato digitale utilizzato.

Quando si creano pacchetti del browser personalizzati per le piattaforme di Windows 95 o Windows NT 4.0, Φ necessario apporre la firma digitale sui file CAB personalizzati creati durante l'esecuzione del programma di personalizzazione di IEAK prima di pubblicarli su Internet o su una rete Intranet. Per apporre la firma digitale sui file CAB e sui programmi personalizzati, Φ necessario ottenere un certificato digitale da un'autoritα di certificazione e apporre la firma sul codice.

Dopo avere creato il pacchetto del browser personalizzato, Φ necessario apporre la firma digitale sui seguenti file:

Note

Ottenimento dei certificati digitali

I certificati digitali fanno parte della tecnologia Authenticode che consente di identificare la provenienza dei programmi e di verificare che non vi siano state apportate modifiche. Per ottenere un certificato digitale, Φ possibile rivolgersi a un'autoritα di certificazione, quale VeriSign o GTE, oppure a un server privato per l'emissione di certificati. I certificati si dividono in commerciali e individuali.

Alcune societα svolgono il ruolo di agenzie di registrazione locali. Queste agenzie esaminano le richieste di adesione, verificano i dati identificativi e trasmettono la richiesta approvata all'autoritα di certificazione per l'emissione del certificato digitale. I termini dell'accordo tra l'autoritα di certificazione e l'agenzia di registrazione locale possono variare in base alle condizioni del contratto sottoscritto.

Nell'esempio che segue viene descritta la relazione esistente tra un'autoritα di certificazione e un'agenzia di registrazione locale. VeriSign Φ l'autoritα di certificazione che si occupa di tutte le attivitα connesse all'emissione di certificati. Un'universitα potrebbe voler dotare di certificati digitali tutti gli studenti che frequentano un corso di master. Una volta autenticata l'identitα degli studenti e rintracciata la documentazione necessaria, l'universitα potrebbe non volersi assumere ulteriori responsabilitα. Questo problema verrebbe quindi addossato all'autoritα di certificazione principale e l'universitα si assumerebbe il ruolo di agenzia di registrazione locale.

Apposizione della firma digitale sui file CAB o sui programmi personalizzati

Dopo aver ottenuto un certificato, sarα necessario apporre la firma al relativo codice. Nel Resource Kit di IEAK sono inclusi tutti gli strumenti necessari per l'apposizione della firma digitale, ad esempio Signcode.exe. Questi strumenti si trovano nella cartella \Programmi\IEAK\Reskit\Tools. Ulteriori risorse sono disponibili nell'SDK del client Internet.

╚ inoltre necessario conoscere le chiavi pubbliche e private, ovvero un set di chiavi corrispondenti create dall'autore del software e utilizzate per le operazioni di crittografia e decrittografia. Queste chiavi vengono generate al momento della richiesta del certificato all'autoritα di certificazione direttamente nel computer dell'utente e la chiave privata non viene mai inviata all'autoritα di certificazione o a qualunque altro utente.

╚ possibile utilizzare i seguenti programmi per apporre la firma digitale ai file e verificarne la correttezza:

Questi strumenti si trovano nella cartella \Programmi\IEAK\Reskit\Tools di IEAK e nell'SDK del client Internet. Per ulteriori informazioni sull'utilizzo di questi strumenti, vedere Strumenti per la firma e la verifica del codice.

La tecnologia Authenticode

Authenticode Φ una tecnologia basata su specifiche utilizzate ormai da tempo con esiti positivi nel settore dell'industria e include le specifiche PKCS #7 (standard relativo alla sintassi dei messaggi crittografati), PKCS #10 (formati per la richiesta di certificati) e X.509 (specifica per la certificazione) e gli algoritmi di hash SHA e MD5.

Le autoritα di certificazione pubblicano i criteri di protezione e si occupano dell'emissione di certificati per la firma digitale dei programmi sulla base di criteri stabiliti in diverse specifiche. Tra le altre attivitα di competenza di un'autoritα di certificazione rientrano la gestione dei certificati (iscrizione, rinnovo e revoca), la memorizzazione delle chiavi principali, la verifica dei dati di identificazione forniti dai richiedenti, la fornitura di strumenti per l'iscrizione e l'accettazione della responsabilitα associata a queste operazioni. Le autoritα di certificazione sono una componente importante di questo programma e assicurano che tutti gli autori di software operino in base allo stesso insieme di regole.

Scadenza dei certificati

La scadenza dei certificati costituisce un'ulteriore misura di protezione. Se ad esempio un'universitα richiede la certificazione di tutti gli studenti iscritti mediante un ID digitale, sarα possibile impostare la scadenza di ciascun ID in concomitanza con il termine dei corsi. Gli eventuali programmi sui quali Φ stata apposta una firma utilizzando un certificato scaduto non saranno considerati validi. Una volta scaduto il certificato, l'autore del software dovrα apporre una nuova firma e pubblicare nuove versioni del programma creato. Quando in futuro su Internet sarα possibile utilizzare un indicatore di orario, gli autori di programmi software potranno apporre la propria firma digitale corredata dell'indicazione della data e dell'ora, in modo da garantire la validitα del certificato al momento dell'apposizione della firma digitale. In questo modo, il programma sul quale Φ stata apposta la firma digitale continuerα a essere valido anche dopo la scadenza del certificato.

Configurazione delle impostazioni di protezione da parte degli utenti finali

Internet Explorer garantisce un'ulteriore misura di protezione suddividendo la rete in aree. La presenza di aree di protezione consente agli utenti di evitare il download di contenuti potenzialmente dannosi.

Nella parte destra della barra di stato di Internet Explorer Φ visualizzata l'area di appartenenza della pagina Web corrente. Ogni volta che si tenta di aprire o di effettuare il download di un contenuto dal Web, verranno automaticamente controllate le impostazioni di protezione relative all'area di appartenenza del sito Web.

╚ possibile assegnare i contenuti delle pagine Web alle diverse aree in vari modi. BenchΘ le operazioni consentite per i diversi livelli di protezione siano predefinite, per ciascun livello Φ possibile creare impostazioni personalizzate.

Utilizzo di Authenticode da parte degli amministratori dei servizi Intranet

Un amministratore dei servizi Intranet pu≥ preconfigurare le aree di protezione e le restrizioni del contenuto predefinite e personalizzare le autoritα di certificazione. ╚ inoltre possibile controllare se gli utenti possono modificare le proprie impostazioni di protezione attraverso l'opzione Criteri di protezione e restrizioni. Per ulteriori informazioni sulle impostazioni specifiche, vedere Opzioni di protezione di Internet Explorer.

╚ possibile stabilire che venga visualizzato un messaggio di avviso quando si tenta di accedere a contenuti potenzialmente dannosi. ╚ inoltre possibile impedire che gli utenti effettuino il download di controlli ActiveX e di pacchetti Java privi di firma digitale.

Conseguenze dell'apposizione della firma digitale

L'apposizione della firma digitale Φ un'operazione semplice e rapida. Per autenticare un codice, non Φ tuttavia necessario conoscere i dettagli tecnici di questa operazione.

Dopo avere sviluppato e verificato un programma, l'autore vi appone la propria firma digitale. Il software viene quindi eseguito tramite una funzione di hash unidirezionale che genera un codice a lunghezza fissa. Quest'ultimo viene in seguito crittografato in base alla chiave privata dell'autore e integrato nella firma con il nome dell'algoritmo di hash e il certificato contenente il nome dell'autore, la chiave pubblica, il nome del certificato dell'autoritα di certificazione e cos∞ via. Il blocco della firma viene infine reinserito in una sezione riservata nel formato di file PE e il programma viene distribuito su Internet. Se si appone la firma digitale su un file CAB, anche il blocco della firma verrα memorizzato nel file CAB.

Quando l'utente scarica il programma, l'applicazione utilizzata per il download effettua una chiamata all'API WinVerifyTrust. La firma viene estratta automaticamente, determinando l'autoritα di certificazione che ha autenticato il certificato e rilevando la chiave pubblica dell'autore del software distribuita dall'autoritα stessa. La chiave pubblica viene utilizzata per decrittografare il codice e il programma viene nuovamente eseguito tramite la funzione di hash specificata creando un nuovo codice. Se il programma non ha subito modifiche dal momento dell'apposizione della firma, il nuovo codice corrisponderα a quella precedente. Qualora i due codici non dovessero corrispondere, il programma Φ stato modificato oppure le chiavi pubblica e privata non appartengono alla stessa coppia. In entrambi i casi verrα visualizzato un messaggio di avviso per l'utente.